[t:/]$ 지식_

당신의 회사는 SSL(https) 접속도 감시하고 있다.

2012/08/29

SSL(https)로 접속하면 보통 통신 내용이 모두 암호화 되서 안전한 것으로 알려져있다.

그러나 요즘 들어 MITM에 의한 SSL 해킹 가능성에 대한 뉴스가 종종 나오고 있다. 게다가 몇몇 인증서들이 유출되는 바람에 더욱 위험한 시즌이다.

회사가 직원들의 PC를 감시하는 법은 대충 이렇다.

  1. 키보드 후킹- 전용 클라를 깔게한 후 후킹
  2. 화면 캡춰 - 전용 클라를 이용해서 일정한 주기로 화면을 도둑질 해가는 방법. PC에 상당한 부하를 주기 때문에 개짜증을 유발하므로 역시 쓰기 힘든 방식
  3. 네트워크 내용물 훔쳐보기. 방화벽과 프락시 단에서 내용물을 훔쳐본다. 직원에게 깔라고 지시한 전용 클라를 이용해서 하이브리드로 훔쳐본다. URL등만 따로 로깅하여 부하를 줄인다
  4. IDS에 통계적 위험 검출 기법을 도입한다.

SSL을 훔쳐보는 법은 이렇다.

전제조건

  1. 직원은 반드시 전용 클라를 깔아야지만 네트워크 사용이 가능하다.
  2. 직원은 반드시 도메인 가입을 통해야만 정상적인 네트워크 사용이 가능하다

훔쳐보기

  1. 직원이 지메일에 접속하면 구글 서버는 https로 점프하여 보안 연결을 하도록 한다.
  2. 직원쪽 브라우저가 https 요청을 하면 회사의 프락시가 이를 캐치하여 구글 대신 회사의 서버에 붙도록 한다. 이 과정은 원래 (ARP 스푸핑) + DNS 스푸핑 등을 조합하여 브라우저가 애초에 구글로 접속하지 못하게 한다. 스푸핑은 악성코드, 동일 네트워크 상에 악성코드에 감염된 PC, 악성 코드에 감염된 직원의 PC, 회사의 DNS 정책 등으로 가능하다.
  3. 직원은 구글과 정상적으로 통신하는 듯 보이지만 회사의 프락시가 릴레이를 치고 있다.
  4. 프락시(또는 방화벽)은 인증서를 대신 주고 받으며 자신의 인증서를 클라에게 보낸다. 이때 브라우저는 인증서가 등신이라며 경고를 보낸다.
  5. 따라서 직원은 정상적인 https 통신을 하기 힘들거나 지속적인 경고를 받는다.
  6. 사설 CA가 발행한 사설 인증서도 안 튕기게 하는 법이 있다.

요약.

SSL도 해킹에 의해서 훔쳐볼 수 있다. 대기업처럼 셋팅된 환경에서만 네트워킹을 할 수 있게 되어 있는 경우, SSL은 그냥 노출 된다고 생각하면 될 듯.

이런 회사의 노력도 우회할 만한 아이디어가 있긴 있음.

쉬운 아이디어 

  1. 프락시 스크립트를 해당 주소로 점프하지 않게 하는 법. hosts 파일을 고치는 것이 가장 쉬우나 회사의 클라 에이전트가 정책적으로 막을 수 있다.
  2. 이렇게 내가 수정한 프락시 스크립트를 통해 강제 우회하도록 만드는 법.
  3. hosts 파일 변조를 막을 경우 같은 허브를 쓰는 네트워크 상에 리눅스를 깔고 ARP 스푸핑을 통해 내 PC의 MAC에서 발사된 패킷을 내 리눅스로 일단 들어오게 한다.
  4. 내 리눅스에서 받은 패킷의 get 요청을 뜯어내서 회사의 프락시로 향하지 않게 하고 내가 고친 프락시 스크립트가 있는 내 리눅스로 향하게 한다.
  5. 아 귀찬타.. 네트워크도 보안도 다 까먹었고.. 나중에 공부좀 더 해보자..

ㄴ 본문의 오류 수정. - 각 브라우저는 MITM에 의한 인증서 바꿔치기를 알아채고 오류를 내 뿜는다. 엄밀히는 바꿔치기를 알아낸 것은 아니고, 중간 공격자(=회사의 감시자)가 보낸 바꿔친 인증서가 사설 인증서이기 때문에 브라우저가 경고를 먹이는 것.따라서 회사에서는 정책적으로 자사의 사설 인증서를 "신뢰할 수 있는 루트 인증서"로 등록하기를 요구하며 이렇게 사설 인증서를 브라우저가 내장한 "신뢰할 수 있는 루트 인증서"로 등록하게 되면 브라우저도 더 이상 인증서 변조에 대한 경고를 내뱉지 않는다.









[t:/] is not "technology - root". dawnsea, rss